/*
 * Filename: d:\idf_workspace\esp_face_id\main\src\app.cc
 * Path: d:\idf_workspace\esp_face_id\main\src
 * Created Date: Friday, July 25th 2025, 11:31:25 am
 * Author: sss
 * 
 * Copyright (c) 2025 Your Company
 */
#include "app.h"
#include "app_camera.h"
#include "app_who.h"
#include "app_uvc.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "esp_camera.h"

#include "esp_log.h"
static const char *TAG = "APP";


APP::APP(){}

APP::~APP(){}

void APP::start()
{
    QueueHandle_t queue_camera = xQueueCreate(2, sizeof(camera_fb_t *));
    QueueHandle_t queue_uvc = xQueueCreate(2, sizeof(camera_fb_t *));
    AppCamera app_camera(queue_camera);
    app_camera.start();

    AppWho app_who(queue_uvc, queue_camera);
    app_who.start();

    AppUvc app_uvc(queue_uvc);
    app_uvc.start();
    while (true)
    {
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
    
}